package main

import "fmt"

//map
//语法格式
///* 声明变量，默认 map 是 nil */
// var map_variable map[key_data_type]value_data_type
// /* 使用 make 函数 */
// map_variable = make(map[key_data_type]value_data_type)

// func main() {
// 	m1 := make(map[string]string)
// 	m1["name"] = "skye"
// 	m1["age"] = "20"
// 	m1["school"] = "pu"
// 	fmt.Printf("m1: %v\n", m1) //m1: map[age:20 name:skye school:pu]

// 	m2 := map[string]string{
// 		"name":   "pangzi",
// 		"age":    "22",
// 		"school": "nu",
// 	}
// 	fmt.Printf("m2: %v\n", m2) //m2: map[age:22 name:pangzi school:nu]

// }

//访问map
// func main() {
// 	m1 := make(map[string]string)
// 	m1["name"] = "skye"
// 	m1["age"] = "20"
// 	m1["school"] = "pu"

// 	name := m1["name"]
// 	age := m1["age"]
// 	fmt.Printf("name: %v\n", name) //name: skye
// 	fmt.Printf("age: %v\n", age) //age: 20
// }

//判断键值是否存在
// func main() {
// 	m1 := make(map[string]string)
// 	m1["name"] = "skye"
// 	m1["age"] = "20"
// 	m1["school"] = "pu"

// 	v, b := m1["name"]
// 	fmt.Printf("v: %v\n", v) //skye
// 	fmt.Printf("b: %v\n", b) //true

// 	v, b = m1["aaa"]
// 	fmt.Printf("v: %v\n", v) //
// 	fmt.Printf("b: %v\n", b) //false
// }

//map的遍历
func main() {
	m1 := make(map[string]string)
	m1["name"] = "skye"
	m1["age"] = "20"
	m1["school"] = "pu"

	for key := range m1 {
		fmt.Printf("key: %v\n", key)
	}

	for k, v := range m1 {
		fmt.Printf("%v: %v\n", k, v)

	}
}
